// Side effects import declaration to ensure our TurboModule
// is loaded.
import 'react-native-screens/src/fabric/NativeScreensModule'; // todo mark
export * from "react-native-screens/src/types";

/*
 * Core
 */
export {
  enableScreens,
  enableFreeze,
  screensEnabled,
  freezeEnabled,
  // shouldUseActivityState,  // todo del
} from "react-native-screens/src/core";

/*
 * RNS Components
 */
export {
  default as Screen,
  // NativeScreen,  // todo del
  InnerScreen,
  ScreenContext,
} from "./components/Screen";

  // todo del
// export {
//   default as ScreenContainer,
//   NativeScreenContainer,
//   NativeScreenNavigationContainer,
// } from "./components/ScreenContainer";
  
// todo del
// export { default as ScreenStack } from "react-native-screens/src/components/ScreenStack";

export {
  ScreenStackHeaderConfig,
  ScreenStackHeaderSubview,
  ScreenStackHeaderLeftView,
  ScreenStackHeaderCenterView,
  ScreenStackHeaderRightView,
  ScreenStackHeaderBackButtonImage,
  ScreenStackHeaderSearchBarView,
} from "react-native-screens/src/components/ScreenStackHeaderConfig";

  // todo del
// export {
//   default as SearchBar,
//   NativeSearchBar,
//   NativeSearchBarCommands,
// } from "react-native-screens/src/components/SearchBar";
export { default as SearchBar } from 'react-native-screens/src/components/SearchBar'; // todo mark
export { default as ScreenContainer } from 'react-native-screens/src/components/ScreenContainer'; // todo mark
// export { default as ScreenStack } from 'react-native-screens/src/components/ScreenStack'; // todo mark
export { default as ScreenStack } from './components/ScreenStack'; // todo mark edit
// export { default as ScreenStackItem } from 'react-native-screens/src/components/ScreenStackItem'; // todo mark
export { default as ScreenStackItem } from './components/ScreenStackItem'; // todo mark edit
export { default as FullWindowOverlay } from "react-native-screens/src/components/FullWindowOverlay";
// export { default as ScreenFooter } from 'react-native-screens/src/components/ScreenFooter'; // todo mark
// export { default as ScreenContentWrapper } from 'react-native-screens/src/components/ScreenContentWrapper'; // todo mark

  // todo del
// /*
//  * Modules
//  */
// export { default as NativeScreensModule } from "react-native-screens/src/fabric/NativeScreensModule";
// export { default as ScreenFooter } from 'react-native-screens/src/components/ScreenFooter'; // todo mark
export { default as ScreenFooter } from './components/ScreenFooter'; // todo mark

  // todo del
// /*
//  * Contexts
//  */
// export { GHContext } from "react-native-screens/src/native-stack/contexts/GHContext";
// export { default as ScreenContentWrapper } from 'react-native-screens/src/components/ScreenContentWrapper'; // todo mark
export { default as ScreenContentWrapper } from './components/ScreenContentWrapper'; // todo mark

/*
 * Utils
 */
export {
  isSearchBarAvailableForCurrentPlatform,
  // isNewBackTitleImplementation,  // todo del
  compatibilityFlags, // todo mark
  executeNativeBackPress,
} from "./utils";

/**
 * Hooks
 */
export { default as useTransitionProgress } from "react-native-screens/src/useTransitionProgress";

export { default as GestureDetectorProvider } from './gesture-handler/GestureDetectorProvider';
